package angelo.controleDeEstoque.resources;

import java.util.List;

import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;

import angelo.controleDeEstoque.dao.SaidaProdutoDAO;
import angelo.controleDeEstoque.model.SaidaProdutoModel;


@Path("saidaProduto")
public class SaidaProdutoResource {
	
	@GET
	@Path("/verTodasAsSaidas")
	@Produces("application/json")
	public List<SaidaProdutoModel> verTodaSaida(){
		
		return new SaidaProdutoDAO().ListaDeSaida();
		
	}
	
	@DELETE
	@Path("deletar/{id}")
	@Consumes("applicaton/json")
	public void excluir(@PathParam("id") Integer id){
		
		SaidaProdutoDAO saidaDAO = new SaidaProdutoDAO();
		saidaDAO.delete(id);
	}
	
	@GET
	@Path("/verApenasUmaSaida/{id}")
	@Produces("application/json")
	public SaidaProdutoModel verApenasUmaEntrada( @PathParam("id") Integer id) {

		return new SaidaProdutoDAO().listarApenasUm(id);

	}
	
	@POST
	@Path("/salvar")
	@Produces("application/json")
	public void salvar(SaidaProdutoModel entrada){

		SaidaProdutoDAO saidaDAO = new SaidaProdutoDAO();
		saidaDAO.salvar(entrada);

	}
	
	@PUT
	@Path("/atualizar")
	@Consumes("application/json")
	public void atualizar(SaidaProdutoModel produto){
		SaidaProdutoDAO saidaDAO = new SaidaProdutoDAO();
		saidaDAO.atualizar(produto);
		
	}
	
	

}
